Enterprise computing is evolving at a rapid pace due to advances in the virtualization technology. A prominent change revolves around mobility of software resources. Entire software stacks in the form of virtual machines can now be moved, live (that is, without a down-time) or offline (backup and restore), anywhere within the same data center or from one data center to another with relative ease. This evolving landscape presents challenges such as the co-existence of identical or overlapping layer-2 and layer-3 addresses within a single data center network.
Enterprises can spend significant IT costs on configuration and deployment of large multi-tier applications. For example, multiple instances of such applications are required due to a variety of reasons. There can be multiple environments (such as production, staging or test, development, etc.) in an enterprise that need to host identical (or scaled down) instances of these applications. Also, as enterprises grow and new acquisitions are made in different geographical locations, multiple geographically distributed but interconnected data centers emerge that need to host identical applications.
For both scenarios, significant redeployment and reconfiguration costs could be saved if the same multi-tier application instance (comprising of several virtual machines) can be cloned or replicated. This practice is not wide-spread because the internet protocol (IP) address range for the original replicated instances might be completely different from the new network where these replicas are being restored. Additionally, these IP address ranges may be overlapping or identical. Due to this, typically IP addresses need to be reconfigured for the restored instances. This effort is non-trivial, as these IP addresses are embedded at various places (various operating systems (OS, middleware configuration files, etc.) in these virtual machines.
Additionally, data centers that are designed independently may have overlapping network address ranges, and may not be interconnected as part of a single network fabric. Also, a cloud provider must allow its customers to restore their backed up applications in the form of virtual machines (VMs) without any change onto its network. These various customer VMs may have IP addresses that clash with IP addresses of other customers' VMs or with the IP addresses used by the provider itself.
Consequently, a need exists for enabling co-existence of hosts or virtual machines with identical addresses.